package com.wicket.okrbff.biz.service.dto.common;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc BffUnstructuredRelationshipDto
 * @使用场景
 */
@Data
public class BffUnstructuredRelationshipDto implements Serializable {

  /**
   * 文档ID
   */
  @ApiModelProperty("文档ID")
  private String unstructuredDataId;

  /**
   * 文档编号
   */
  @ApiModelProperty("文档编号")
  private String unstructuredDataNumber;

  /**
   * 文档名称
   */
  @ApiModelProperty("文档名称")
  private String unstructuredDataName;

  /**
   * 文档后缀
   */
  @ApiModelProperty("文档后缀")
  private String postfix;

  /**
   * 文件大小
   */
  @ApiModelProperty("文件大小")
  private String fileSize;

  /**
   * 文件相对路径地址
   */
  @ApiModelProperty("文件相对路径地址")
  private String fileRelativePathAccess;


    /**
     * 文件全路径地址
     */
    @ApiModelProperty("文件全路径地址")
    private String fileRelativeAllPathAccess;

  /**
   * 文档明细类型 WORD:WORD文档 EXCEL:EXCEL文档 PDF:PDF文档
   */
  @ApiModelProperty("文档明细类型")
  private String unstructuredDataDetailType;

  /**
   * 是否支持预览 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否支持预览")
  private String isSupportPreview;

  /**
   * 是否来自个人网盘文件 TRUE:是 FALSE:否
   */
  @ApiModelProperty("是否来自个人网盘文件")
  private String isUserUpload;
/**
     * 文档关系ID 
     */
    @ApiModelProperty("文档关系ID")
    private String	 unstructuredDataRelationshipId;
/**
     * 是否是网盘引用关系 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否是网盘引用关系")
    private String	 isNetworkReference;
/**
     * 来源文档关系ID 
     */
    @ApiModelProperty("来源文档关系ID")
    private String	 sourceRelationshipId;

    /**
     * 关系类型编码 DIRECT_RELATION:直接关系 INDIRECT_RELATIONSHIP:间接关系
     */
    @NotNull(message = "关系类型编码不能为空")
@ApiModelProperty("关系类型编码")
    private String	 relationshipType;
/**
     * 归属内容表主键ID 
     */
    @ApiModelProperty("归属内容表主键ID")
    private String	 ownEntityId;

    /**
     * 归属父内容表主键ID 
     */
    @ApiModelProperty("归属父内容表主键ID")
    private String	 ownParentContentId;

    /**
     * 主题内容ID 
     */
    @ApiModelProperty("主题内容ID")
    private String	 themeContentId;
/**
     * 排序 
     */
    @ApiModelProperty("排序")
    private Long	 orderNumber;

    /**
     * 操作时间 
     */
    @ApiModelProperty("操作时间")
    private Date	 operateTime;

    /**
     * 用户昵称 
     */
    @ApiModelProperty("用户昵称")
    private String	 nickName;

    /**
     * 真实头像 
     */
    @ApiModelProperty("真实头像")
    private String	 userFace;

    /**
     * 真实姓名 
     */
    @ApiModelProperty("真实姓名")
    private String	 idCardName;

    /**
     * 冗余部门名称 
     */
    @ApiModelProperty("冗余部门名称")
    private String	 deptShortName;
/**
     * 部门ID 
     */
    @ApiModelProperty("部门ID")
    private String	 deptId;

    /**
     * 创建人就职记录ID 
     */
    @ApiModelProperty("创建人就职记录ID")
    private String	 createInductionId;
/**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date	 createTime;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      BffUnstructuredRelationshipDto that = (BffUnstructuredRelationshipDto) o;
      return  unstructuredDataId == that.unstructuredDataId&&unstructuredDataNumber == that.unstructuredDataNumber&&unstructuredDataName == that.unstructuredDataName&&postfix == that.postfix&&fileSize == that.fileSize&&fileRelativePathAccess == that.fileRelativePathAccess&&fileRelativeAllPathAccess == that.fileRelativeAllPathAccess&&unstructuredDataDetailType == that.unstructuredDataDetailType&&isSupportPreview == that.isSupportPreview&&isUserUpload == that.isUserUpload&&unstructuredDataRelationshipId == that.unstructuredDataRelationshipId&&isNetworkReference == that.isNetworkReference&&sourceRelationshipId == that.sourceRelationshipId&&relationshipType == that.relationshipType&&ownEntityId == that.ownEntityId&&ownParentContentId == that.ownParentContentId&&themeContentId == that.themeContentId&&orderNumber == that.orderNumber&&operateTime == that.operateTime&&nickName == that.nickName&&userFace == that.userFace&&idCardName == that.idCardName&&deptShortName == that.deptShortName&&deptId == that.deptId&&createInductionId == that.createInductionId&&createTime == that.createTime;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), unstructuredDataId,unstructuredDataNumber,unstructuredDataName,postfix,fileSize,fileRelativePathAccess,fileRelativeAllPathAccess,unstructuredDataDetailType,isSupportPreview,isUserUpload,unstructuredDataRelationshipId,isNetworkReference,sourceRelationshipId,relationshipType,ownEntityId,ownParentContentId,themeContentId,orderNumber,operateTime,nickName,userFace,idCardName,deptShortName,deptId,createInductionId,createTime);
    }

}
